

package BD;
import gerenciadorveiculos.UsuarioSistema;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import javax.swing.JOptionPane;
import java.io.ObjectOutputStream;
import java.util.Vector;
/**
 *
 * @author Gabriel
 */
public class acesso {
 
   protected ObjectInputStream input;
   protected ObjectOutputStream output;
 



   protected void abrirArquivoEscrita(String arquivo){
     //  try{
           try {

                output = new ObjectOutputStream(new FileOutputStream(arquivo));

            } catch (IOException ex) {
                imprimeErro(" abrirArquivoEscrita- Erro ao abrir arquivo escrita "+arquivo, ex.getMessage() );
            }
           
     //  }catch(IOException ex){
      //      imprimeErro(" abrirArquivoEscrita- Erro ao abrir arquivo escrita "+arquivo, ex.getMessage() );
      //      System.exit(1);
     //  }
   }

   protected void abrirArquivoLeitura(String arquivo) throws FileNotFoundException, IOException{
       
            input = new ObjectInputStream(new FileInputStream(arquivo));
         
   }

    

   protected void fecharArquivoLeitura(String arquivo){
        try {
            input.close();
        } catch (IOException ex) {
             imprimeErro("Erro ao fechar arquivo  "+arquivo, ex.getMessage() );
             System.exit(1);
        }
       
   }

   

   protected void fecharArquivoEscrita(String arquivo){
        try {
            output.close();
        } catch (IOException ex) {
             imprimeErro("Erro ao fechar arquivo  "+arquivo, ex.getMessage() );
             System.exit(1);
        }

   }

   protected Vector lerArquivo(){
       Vector obj = new Vector();
        try {
            obj = (Vector)input.readObject();
        } catch (IOException ex) {
            imprimeErro("erro1 ", ex.getMessage());
        } catch (ClassNotFoundException ex) {
            imprimeErro("erro2 ", ex.getMessage());
        } finally{
            return obj;
        }
       
   }

   protected void escreveArquivo(Vector obj){
        try {
            output.writeObject(obj);
        } catch (IOException ex) {
            imprimeErro("erro ao escrever no arquivo ", ex.getMessage());
        }
       
   }

   
    protected void imprimeErro(String msg, String msgErro) {
       JOptionPane.showMessageDialog(null, msg, "Erro crítico", 0);
       System.err.println(msg);
       System.out.println(msgErro);
       System.exit(0);
    }
}
